from .control import Control


class Text(Control):
    '''
    CS的文本框操作
    '''

    def get_text(self):
        '''
        获取文本框内容

        :Returns:
            返回文本框内容
        '''
        return self.control.GetText

    def set_text(self, txt):
        '''
        设置文本框内容

        :Args:
         - txt: 设置的文本内容
        '''
        self.control.SetText(txt)

    def get_caption(self):
        '''
        获取不可编辑文本框的说明

        :Returns:
            返回说明文字
        '''
        return self.control.GetCaption

    def get_selection_length(self):
        '''
        获取选中文本的长度

        :Returns:
            返回长度
        '''
        return self.control.GetSelectionLength

    def get_selection_start(self):
        '''
        获取选中文本的起始标识位

        :Returns:
            返回标识位
        '''
        return self.control.GetSelectionStart

    def get_selection_text(self):
        '''
        获取选中部分的文本

        :Returns:
            返回文本
        '''
        return self.control.GetSelectionText

    def select(self, start, length):
        '''
        选中文本范围

        :Args:
         - start: 选中文本的起始标识位
         - length: 选中文本的长度
        '''
        self.control.Select(start, length)